package com.zmn.oms.business.interfaces.work;

import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.dto.work.masterwork.WorkDetailDTO;
import com.zmn.oms.model.dto.work.masterwork.WorkListItemDTO;
import com.zmn.oms.model.dto.work.masterwork.WorkProgrammeDTO;
import com.zmn.oms.model.entity.work.OrderWork;

import java.util.List;

/**
 * @author sunlife
 * @date:2021/3/12 6:01 下午
 * description: 工单日程业务类
 */
public interface OrderWorkProgrammeBService {

    /**
     * 批量处理工单日程信息
     * @param dtos
     * @return
     * @throws OmsBaseException
     */
    void processWorkDetailProgramList(List<WorkListItemDTO> dtos) throws OmsBaseException;

    /**
     * 获取工单日程信息
     * @param dto
     * @return
     * @throws OmsBaseException
     */
    WorkProgrammeDTO getProgramme(WorkDetailDTO dto) throws OmsBaseException;

    /**
     * 获取工单操作信息
     * @param orderWork
     * @return
     */
    String getOperateStr(OrderWork orderWork);

    /**
     * 获取工单操作信息
     * @param orderWork
     * @return
     */
    Integer getOperateTextStatus(OrderWork orderWork);

    /**
     * 获取工单状态信息
     * @param orderWork
     * @return
     */
    String getProgrammeStatus(OrderWork orderWork);

    /**
     * 发送工单操作结果信息给消息系统
     * @param orderId
     * @param operateId
     * @return
     */
    void sendOperateInfo(Long orderId, Integer operateId);

    /**
     * 获取工单操作结果信息
     * @param orderId
     * @param operateId
     * @return
     */
    String getOperateInfo(Long orderId, Integer operateId);
}
